//
//  ZYPopLayerDisposeFactory.h
//  DesignMode
//
//  Created by wangzhipan on 2024/11/15.
//

#import <Foundation/Foundation.h>
#import "ZYPopLayerDispose.h"
#import "IPopLayerProtocol.h"
NS_ASSUME_NONNULL_BEGIN

@interface ZYPopLayerDisposeFactory : NSObject

/// 无需考虑打断恢复的引导层
/// - Parameters:
///   - popLayerId:引导id
///   - isManual: 是否手动触发：手动触发的引导必须立马展示
///   - showBlock: 展示逻辑
///   - closeBlock: 关闭逻辑
+ (ZYPopLayerDispose *)createDisposeWithPopLayerId:(nonnull NSString *)popLayerId
                                          isManual:(BOOL)isManual
                                         showBlock:(nonnull PopLayerShowCmd)showBlock
                                        closeBlock:(nonnull PopLayerCloseCmd)closeBlock;


/// 考虑打断恢复的引导层
/// - Parameters:
///   - popLayerId: 引导id
///   - isManual: 是否手动触发：手动触发的引导必须立马展示
///   - showBlock: 展示逻辑
///   - closeBlock: 关闭逻辑
///   - interruptBlock: 中断展示逻辑
///   - resumeBlock: 恢复展示逻辑
+ (ZYPopLayerDispose *)createDisposeWithPopLayerId:(nonnull NSString *)popLayerId
                                          isManual:(BOOL)isManual
                                         showBlock:(nonnull PopLayerShowCmd)showBlock
                                        closeBlock:(nonnull PopLayerCloseCmd)closeBlock
                                    interruptBlock:(nonnull PopLayerInterruptCmd)interruptBlock
                                         resumeCmd:(nonnull PopLayerResumeCmd)resumeBlock;
@end

NS_ASSUME_NONNULL_END
